iT邦幫忙

2023 iThome 鐵人賽

DAY 10
0
Mobile Development

初窺Flutter系列 第 10

Widgets-GridView(網格列表)

  • 分享至 

  • xImage
  •  

顧名思義就是以網格的形式排列。
和前一篇列表一樣它可以設定他的排列方式訂製子元素設定列表間隔、數量

下列是簡單的網格程式碼(也運用了之前所學的textcontainerlistview)

Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: GridView.count(
          crossAxisCount: 3, // 網格的列數
          mainAxisSpacing: 10,  // 主軸方向的間距
          crossAxisSpacing: 10, // 交叉軸方向的間距
          
          //用List.generate函數來生成一個包含9個子元素的Widget列表
          children: List.generate(9, (index) {  
            return Container(
              color: Colors.blue,  // 子元素的背景顏色
              alignment: Alignment.center,  // 子元素內容的對齊方式
              child: Text('Item $index'),  // 子元素的文本內容
            );
          }),
        ),
      ),
    );
  }

執行結果
https://ithelp.ithome.com.tw/upload/images/20230925/201626845Nru1a6c7y.png

網格構造函數的用法
1.GridView.count: 基礎用法,可以使用crossAxisCount參數指定列數,使用mainAxisSpacingcrossAxisSpacing來指定主軸和交叉軸的間距。
2.GridView.extent:子元素的最大交叉軸尺寸是固定的,可以使用maxCrossAxisExtent參數指定子元素的最大交叉軸尺寸,使用mainAxisSpacingcrossAxisSpacing來指定間距。
3.GridView.builder:用於動態生成子元素,可以通過提供itemCountitemBuilder參數,根據需要生成子元素。
4.GridView.custom:一個高度可自定義的GridView構造函數,透過gridDelegatechildrenDelegate參數,自定義網格的布局和子元素。

(可參考官網的寫法: https://api.flutter.dev/flutter/widgets/GridView-class.html )


上一篇
Widgets-ListView(列表)
下一篇
AppBar(應用程式列)
系列文
初窺Flutter30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言